System and method for rapid boot of secondary operating system

ABSTRACT

The primary operating system of a computer such as a notebook computer is stored on disk in a hard disk drive and a smaller, secondary operating system such as an email operating system, wireless phone operating system, DVD player operating system, etc. is stored on disk and is transferred to flash memory within the HDD upon power-down of the primary operating system. In this way, should the user subsequently elect to power up the computer only for a limited secondary purpose, the user can elect to boot the associated secondary operating system from flash memory of the HDD without having to spin up the disks, saving energy and reducing boot time.

RELATED APPLICATIONS

This application claims priority from U.S. provisional applicationserial No. 60/693,633, filed Jun. 24, 2005.

FIELD OF THE INVENTION

The present invention relates generally to systems and methods forrapidly booting secondary operating systems of computers.

BACKGROUND OF THE INVENTION

When a computer is “booted”, an operating system is loaded into memoryfrom a hard disk drive. This means that the HDD must first be spun upand made operational, and then data transferred from disk to memory,lengthening the time to boot the computer.

In addition to the conventional functions of a personal computer (suchas, e.g., word processing, spreadsheet generation, etc.) that areafforded by the primary operating system (such as, e.g., Windows 7),some computers are configured to execute functions that may otherwise beperformed by special purpose devices. For example, some notebookcomputers are configured to be used as simple DVD players, or aswireless telephones, or as email devices. In each case, the presentinvention recognizes that a simpler secondary operating system withcorrespondingly limited device drivers may be stored on the HDD to bebooted in lieu of the computer's primary operating system. In this way,if all a user wishes to do is to use the computer for a relativelysimple function and then shut the computer down, booting time can bereduced because only the relatively smaller secondary operating systemassociated with the desired function need be booted into memory.

As recognized herein, however, booting under such circumstances stillrequires the HDD to be spun up. Although booting time is reduced, itstill requires some period of time, and furthermore spinning up a HDDconsumes energy, which is particularly undesirable for battery-poweredcomputers. Nevertheless, because existing basic input-output systems(BIOS) of computers (the small programs that initiate operating systembooting and that are not borne on the HDD but instead are stored inrelatively small solid state memory) typically are configured to accessa HDD to obtain the operating system, it remains desirable to boot froma HDD, since that is where BIOS expects the operating system to be. Withthese recognitions in mind, the invention herein is provided.

SUMMARY OF THE INVENTION

A method is disclosed for reducing boot time of a secondary operatingsystem of a computer that includes a processor accessing a hard diskdrive (HDD). The HDD includes one or more disks storing the secondaryoperating system and a primary operating system. The HDD also includes anon-volatile solid state memory (NVM). The method includes receiving apower on signal that indicates whether the primary operating system orthe secondary operating system is to be booted. If the primary operatingsystem is to be booted, the disk(s) are spun up and the primaryoperating system is booted from disk into the main memory of thecomputer. If the secondary operating system is in the NVM, the NVM isflushed such that the NVM can be used as HDD cache. When a power downsignal is received, the secondary operating system is copied from diskto NVM and then the computer is powered down. In contrast, if thesecondary operating system is to be booted, it is booted directly fromthe NVM without spinning up the disk.

In non-limiting implementations the NVM can be a flash memory. Thecomputer can include a first manipulable power on element and a secondpower on element. A power on signal indicating that the primaryoperating system is to be booted is generated when the first power onelement is manipulated. On the other hand, a power on signal indicatingthat the secondary operating system is to be booted is generated whenthe second power on element is manipulated.

In another aspect, a computer system includes a processor, a computermemory accessible by the processor, and a hard disk drive (HDD)accessible by the processor and including at least one disk and anon-volatile solid state memory (NVM). A primary operating system isstored on the disk for booting thereof under control of the processorinto the computer memory in a first condition. Also, a secondaryoperating system is on the disk and is also on the NVM for booting thesecondary operating system from the NVM under control of the processorinto the computer memory in a second condition.

In still another aspect, a computer includes processing means forbooting and disk means for storing a primary operating system and asecondary operating system. Non-volatile solid state memory (NVM) meansare provided for storing the secondary operating system. The processingmeans boots the primary operating system from the disk if a first poweron signal is received. If, however, a second power on signal isreceived, the processing means boots the secondary operating system fromthe NVM means without spinning up the disk.

BRIEF DESCRIPTION OF THE DRAWINGS

The details of the present invention, both as to its structure andoperation, can best be understood in reference to the accompanyingdrawings, in which like reference numerals refer to like parts, and inwhich:

FIG. 1 is a schematic diagram of a non-limiting computer system; and

FIG. 2 is a flow chart of the present logic.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring initially to FIG. 1, a non-limiting computer system is shown,generally designated 10, which includes a hard disk drive (HDD) 12having a housing 20, and the housing 20 supports a HDD controller 22.The controller 22 is electrically connected to at least one hard disk24. The disk(s) 24 store both a primary operating system 26 and at leastone second operating system 28. Additional secondary O.S. can beprovided for booting from NVM in accordance with principles set forthfurther below.

The controller 22 also accesses a non-volatile solid state memory (NVM)30 that can be, without limitation, a flash memory device. A hostcomputer 32 accesses the HDD 12, and as set forth further below, whenthe host computer 32 remains in the off mode, the NVM 30 contains a copyof the secondary operating system 28 that is stored on the HDD. Thiscopy is kept in the NVM 30 for easy accessibility during a secondaryoperating system boot but is deleted from the NVM 30 if the primaryoperating system 26 is booted, because the primary operating system 26typically uses the NVM 30 for other purposes (e.g., as a cache) whilethe primary operating system is in use.

As shown, in a non-limiting embodiment the host computer 32 includes acomputer processor 34 and a non-limiting main memory 36. The processor34 accesses the HDD 12 using an internal HDD controller 37. Thenon-limiting memory 36 may include any hardware associated with activecomputer memory, e.g. RAM memory, that is utilized by the host computer32 to execute user commands. Additionally, the host computer 32 caninclude a first manipulable power on element 38 and a second power onelement 40. Both power on elements may be buttons. While separatebuttons are shown, it is to be understood that instead of physicallyseparate buttons the two elements 38, 40 may be implemented by a singlecommon button, toggle, or other element that may be manipulateddifferently depending on whether the primary or secondary O.S. is to bebooted.

In any case, the first power on element 38, when manipulated, energizesthe computer 32 and indicates to the processor 34 that the primaryoperating system 26 is to be booted from disk to main memory 36. Incontrast, when the second power on element 40 is manipulated, thecomputer 32 is energized and it is indicated to the processor 34 thatthe secondary operating system 28 is to be booted from the NVM 30 to themain memory 36. Now referring to FIG. 2, the logic for determining whichoperating system is initiated by the user is shown. For ease ofexposition, FIG. 2 is illustrated in flow chart format, it beingunderstood that in actual implementation other logic types may be used,e.g., state logic.

Beginning at decision diamond 42, the system receives a power-on signaland determines whether the signal is received from the secondary bootelement 40. If the logic determines that the secondary boot element 40has been manipulated, at block 44 the HDD does not initiate its disks tospin. Moving to block 46, the secondary operating system 28 is bootedfrom the NVM 30 to the main memory 36 of the host computer. Operation ofthe secondary O.S. from main memory 36 is conducted without spinning upthe disks until such time as a shutdown signal is received.

When it is determined that the a shutdown signal has been generated atdecision diamond 48, the system turns off at block 50, with a copy ofthe secondary operating system 28 remaining stored within the flashmemory of the NVM 30 of the HDD. The shutdown signal can be generatedby, e.g., pressing a power button or by a software call in the operatingsystem's “shutdown” module.

Returning to decision diamond 42, when the primary O.S. power-on element38 is manipulated the logic flows to block 52 to spin up the disk(s) 24.Simultaneously, block 52 indicates that the secondary operating systemstored in the NVM 30 is flushed so that the NVM 30 may be used as, e.g.,a cache for the duration of the session.

Moving to block 54, the primary operating system 26 is booted fromdisk(s) 24 to the main memory 36 of the host computer. Operation of theprimary O.S. from the main memory 36 continues until a shutdown signalis determined as being received at decision diamond 56, at which timethe logic flows to block 58.

As shown in FIG. 2, at block 58 the NVM 30 in the HDD is flushed to makeroom for a new copy of the secondary operating system, which, it will berecalled, has been flushed at power-on and boot of the primary O.S. Atblock 60, a copy of the secondary operating system is copied fromdisk(s) 24 into the NVM 30 so that it may be ready for use during thenext system start should the secondary power on element 40 bemanipulated. At block 62 the disks 24 within the HDD spin down, closingthe current session for the primary operating system. Concluding againat block 50, the system is turned off and the logic ends.

While the particular SYSTEM AND METHOD FOR RAPID BOOT OF SECONDARYOPERATING SYSTEM as herein shown and described in detail is fullycapable of attaining the above-described objects of the invention, it isto be understood that it is the presently preferred embodiment of thepresent invention and is thus representative of the subject matter whichis broadly contemplated by the present invention, that the scope of thepresent invention fully encompasses other embodiments which may becomeobvious to those skilled in the art, and that the scope of the presentinvention is accordingly to be limited by nothing other than theappended claims, in which reference to an element in the singular means“at least one”. For instance, while a secondary O.S. is discussed asbeing copied into NVM upon shutdown, more than one secondary O.S. may becopied into NVM and more than one secondary O.S. boot signal may beprovided so that a select one of plural secondary O.S. may be bootedfrom NVM without spinning up the disks. Moreover, it is not necessaryfor a device or method to address each and every problem sought to besolved by the present invention, for it to be encompassed by the presentclaims. Furthermore, no element, component, or method step in thepresent disclosure is intended to be dedicated to the public regardlessof whether the element, component, or method step is explicitly recitedin the claims. No claim element herein is to be construed under theprovisions of 35 U.S.C. 112, sixth paragraph, unless the element isexpressly recited using the phrase “means for”.

1. A method for reducing boot time of a secondary operating system of acomputer, the computer including a processor accessing a hard disk drive(HDD), the HDD including at least one disk storing the secondaryoperating system and a primary operating system, the HDD also includingat least one non-volatile solid state memory (NVM), the methodcomprising: receiving a power on signal, the power on signal indicatingwhether the primary operating system or the secondary operating systemis to be booted; if the primary operating system is to be booted:spinning up the disk and booting the primary operating system; if thesecondary operating system is in the NVM, flushing the NVM such that theNVM can be used as HDD cache; upon receiving a power down signal,copying the secondary operating system from disk to NVM and thenpowering down the computer; and if the secondary operating system is tobe booted, booting the secondary operating system from the NVM and notspinning up the disk.
 2. The method of claim 1, wherein the NVM is flashmemory.
 3. The method of claim 1, wherein the computer includes at leasta first manipulable power on element and a second power on element, apower on signal indicating that the primary operating system is to bebooted being generated when the first power on element is manipulated, apower on signal indicating that the secondary operating system is to bebooted being generated when the second power on element is manipulated.4. The method of claim 3, wherein the power on elements are buttons. 5.A computer system, comprising: at least one processor; at least onecomputer memory accessible by the processor; at least one hard diskdrive (HDD) accessible by the processor and including at least one diskand at least one non-volatile solid state memory (NVM); at least oneprimary operating system stored on the disk for booting thereof undercontrol of the processor into the computer memory in a first condition;and at least one secondary operating system on the disk and on the NVMfor booting the secondary operating system from the NVM under control ofthe processor into the computer memory in a second condition.
 6. Thesystem of claim 5, wherein the disk is not spun up when the secondaryoperating system is booted from NVM.
 7. The system of claim 6, whereinthe first condition is initiated by a first power on signal and thesecond condition is initiated by a second power on signal.
 8. The systemof claim 6, wherein the NVM is flash memory.
 9. The system of claim 6,wherein the computer includes at least a first manipulable power onelement and a second power on element, a power on signal indicating thatthe primary operating system is to be booted being generated when thefirst power on element is manipulated, a power on signal indicating thatthe secondary operating system is to be booted being generated when thesecond power on element is manipulated.
 10. The system of claim 9,wherein the power on elements are buttons.
 11. The system of claim 7,wherein the secondary operating system is flushed from the NVM under thefirst condition.
 12. The system of claim 11, wherein the secondaryoperating system is copied into the NVM as part of power down from thefirst condition.
 13. A computer, comprising: processing means forbooting; disk means for storing a primary operating system and asecondary operating system; and non-volatile solid state memory (NVM)means for storing the secondary operating system, the processing meansbooting the primary operating system from the disk if a first power onsignal is received, the processing means booting the secondary operatingsystem from the NVM means without spinning up the disk if a second poweron signal is received.
 14. The computer of claim 13, wherein theprocessing means includes a processor, the disk means includes at leastone disk in a hard disk drive (HDD) housing, and the NVM means includesat least one NVM in the HDD housing.
 15. The computer of claim 14,wherein the processor receives a power on signal, the power on signalindicating whether the primary operating system or the secondaryoperating system is to be booted, and if the primary operating system isto be booted, the processor (a) spins up the disk and boots the primaryoperating system, (b) if the secondary operating system is in the NVM,flushes the NVM such that the NVM can be used as HDD cache, (c) uponreceiving a power down signal, copies the secondary operating systemfrom disk to NVM and then powers down the computer.
 16. The computer ofclaim 15, wherein if the secondary operating system is to be booted, theprocessor boots the secondary operating system from the NVM withoutspinning up the disk.
 17. The computer of claim 14, wherein the NVM isflash memory.
 18. The computer of claim 14, wherein the computerincludes at least a first manipulable power on element and a secondpower on element, a power on signal indicating that the primaryoperating system is to be booted being generated when the first power onelement is manipulated, a power on signal indicating that the secondaryoperating system is to be booted being generated when the second poweron element is manipulated.
 19. The computer of claim 18, wherein thepower on elements are buttons.